package com.yytek.am.mapper;

import java.util.List;
import com.yytek.am.domain.FmDef;
import org.apache.ibatis.annotations.Param;

/**
 * 告警定义Mapper接口
 * 
 * @author yytek-iot
 * @date 2022-10-10
 */
public interface FmDefMapper 
{
    /**
     * 查询告警定义
     * 
     * @param id 告警定义主键
     * @return 告警定义
     */
    public FmDef selectFmDefById(Long id);

    /**
     * 查询告警定义列表
     * 
     * @param fmDef 告警定义
     * @return 告警定义集合
     */
    public List<FmDef> selectFmDefList(FmDef fmDef);

    /**
     * 根据设备id获取告警定义
     * @param iotId
     * @return
     */
    public List<FmDef> selectFmDefListByIotId(String iotId);
    /**
     * 新增告警定义
     * 
     * @param fmDef 告警定义
     * @return 结果
     */
    public int insertFmDef(FmDef fmDef);

    /**
     * 批量新增告警定义
     *
     * @param fmDefList 告警定义列表
     * @return 结果
     */
    public int batchFmDef(List<FmDef> fmDefList);

    /**
     * 修改告警定义
     * 
     * @param fmDef 告警定义
     * @return 结果
     */
    public int updateFmDef(FmDef fmDef);

    /**
     * 批量修改告警定义
     *
     * @param fmDefList 告警定义列表
     * @return 结果
     */
    public int updateListFmDef(List<FmDef> fmDefList);

    /**
     * 删除告警定义
     * 
     * @param id 告警定义主键
     * @return 结果
     */
    public int deleteFmDefById(Long id);

    /**
     * 批量删除告警定义
     * 
     * @param ids 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteFmDefByIds(Long[] ids);


}
